This invention relates to the field of visual services over a telecommunications network or on a storage system and in particular, the invention provides techniques for improved quality of compressed video signals when they are subject to loss or error by a telecomnunications network or storage system.
Digital video is of growing importance for many applications, including broadcast television services and interpersonal communications. There are several important international standards in this area, such as ISO/IEC MPEG 2 and ITU-T H.324, which enable interworking between a range of service providers and decoding equipment manufactured by different companies. These standards provide means for compressing and coding both video and audio data, and a packet-based multiplex that allows bitstreams from multiple video and/or audio sources to be carried on a single channel.
Errors introduced in the digital video bitstream by the transmission system cause the loss of video data, and lead to a range of obnoxious artefacts in the output video sequence unless effective action is taken by the decoder.
Prevention of these artefacts requires that errors be detected and that data that is in error or suspected of being in error be discarded. This can be achieved at the multiplexing layer by discarding packets that contain errors. Having discarded this data, it is then necessary to resynchronise and restart the decoding process, to localise the error (i.e. minimising propagation of errors) and to conceal the effects of the error.
Effective concealment is the key to providing a high-quality of service in the presence of transmission errors. It is also the only aspect of error resilience that is not defined by international standards. It is therefore necessary for each decoder manufacturer to develop their own methods.
One effective error concealment uses information from a previous video frame that has been received correctly and also takes into account the motion between this previous frame and the frame in which the loss has occurred. This type of concealment is known as xe2x80x9cmotion-compensated concealmentxe2x80x9d. The key problem in motion-compensated concealment is to estimate reliably the motion, and it is in this area that previous technology is deficient.
Degradation of quality is also of concern in other image-based services. Archive photographic film, for example, deteriorates over time. Once again, restoration of quality can be achieved in image sequences such as movies by discarding the degraded region and using motion-compensated concealment. Once again, previous technology does not provide sufficiently reliable motion estimation techniques.
For the purpose of this specification, the term xe2x80x9cvideo signalxe2x80x9d includes all representations of a sequence of pictures, coded in any manner, whether analog or digital, square, rectangular or of any other shape and compressed or not compressed and including photographic film as well as electrical and mechanical representations.
According to a first aspect the present invention provides a video processing system including:
a) error detection means arranged to detect errors in and/or loss of information in a primary video signal and to identify a particular picture and a region within the picture of the primary video signal containing each such error in or loss of information; and
b) video signal processing means for producing a secondary video signal as an error concealed version of the primary video signal wherein regions of the primary video signal that do not contain errors in or loss of information are copied directly to the secondary signal from the primary signal and in which each error concealed region in the secondary signal corresponding to an error region in the primary signal containing errors in or loss of information is generated by means of motion-compensated prediction from a previous picture in the secondary video signal, the video signal processing means including error concealment means for generating each error concealed region in the secondary signal, the error concealment means being arranged to:
i) identify, in relation to each error region in the primary signal, a primary tag region of the current picture of the secondary signal located in a known location in close proximity to the respective error region:
ii) scan a previous picture of the secondary signal to locate a secondary tag region substantially identical to each primary tag region of the current picture;
iii) generate error concealed regions of the current picture of the secondary signal by identifying a substitution region located in the same relative location with respect to the secondary tag region as the error region of the current picture of the primary signal is located with respect to the primary tag region: and
iv) copy the substitution region to the respective error region in the current picture of the secondary signal.
According to a second aspect the present invention provides a video processing system including:
a) error detection means arranged to detect errors in and/or loss of information in a primary compressed digital video signal and to identify macroblocks within the primary video signal containing each such error in or loss of information; and
b) video signal processing means for producing a secondary video signal as an error concealed version of the primary video signal. Wherein macroblocks within the primary video signal that do not contain errors in or loss of information are copied directly to the secondary signal from the primary signal and in which each error concealed macroblock in the secondary signal corresponding to an erroneous macroblock in the primary signal containing errors in or loss of information is generated by means of motion-compensated prediction from a previous picture in the secondary video signal, the video signal processing means including error concealment means for generating each error concealed macroblock in the secondary signal, the error concealment means being arranged to:
i) identify, in relation to each erroneous macroblock in the primary signal, a primary tag region of the current picture of the secondary signal located in a known location in close proximity to the respective erroneous macroblock;
ii) scan a previous picture of the secondary signal to locate a secondary tag region substantially identical to each primary tag region of the current picture:
iii) generate error concealed macroblocks of the current picture of the secondary signal by identifying a substitution macroblock located in the same relative location with respect to the secondary tag region as the erroneous macroblock of the current picture of the primary signal is located with respect to the primary tag region: and
iv) copy the substitution macroblock to the macroblock in the current picture of the secondary signal corresponding to the respective erroneous macroblock in the primary signal.
According to a third aspect the present invention provides a method of processing a video signal including the steps of:
a) detecting errors in and/or loss of information in a primary video signal and identifying a particular picture and a region within the picture of the primary video signal containing each such error in or loss of information: and
producing a secondary video signal as an error concealed version of the primary video signal, wherein regions of the primary video signal that do not contain errors in or loss of information are copied directly to the secondary signal from the primary signal, and each error concealed region in the secondary signal corresponding to an error region in the primary signal containing errors in or loss of information is generated by means of motion-compensated prediction from a previous picture in the secondary video signal, each error concealed region in the secondary signal being generated by the further steps of:
i) identifying, in relation to each error region in the primary signal, a primary tag region of the current picture of the secondary signal located in a known location in close proximity to the respective error region:
ii) scanning a previous picture of the secondary signal to locate a secondary tag region substantially identical to each primary tag region of the current picture;
iii) generating error concealed regions of the current picture of the secondary signal by identifying a substitution region located in the same relative location with respect to the secondary tag region as the error region of the current picture of the primary signal is located with respect to the primary tag region: and
iv) copying the substitution region to the respective error region in the current picture of the secondary signal.
According to a fourth aspect the present invention provides a method of processing a video signal including the steps of:
a) detecting errors in and/or loss of information in a primary compressed digital video signal and identifying macroblocks within the primary video signal containing each such error in or loss of information; and
b) producing a secondary video signal as an error concealed version of the primary video signal, wherein macroblocks within the primary video signal that do not contain errors in or loss of information are copied directly to the secondary signal from the primary signal and in which each error concealed macroblock in the secondary signal corresponding to an erroneous macroblock in the primary signal containing errors in or loss of information is generated by means of motion-compensated prediction from a previous picture in the secondary video signal, each error concealed macroblock in the secondary signal, being generated by:
i) identifying, in relation to each erroneous macroblock in the primary signal, a primary tag region of the current picture of the secondary signal located in a known location in close proximity to the respective erroneous macroblock;
ii) scanning a previous picture of the secondary signal to locate a secondary tag region substantially identical to each primary tag region of the current picture;
iii) generating error concealed macroblocks of the current picture of the secondary signal by identifying a substitution macroblock located in the same relative location with respect to the secondary tag region as the erroneous macroblock of the current picture of the primary signal is located with respect to the primary tag region: and
iv) copying the substitution macroblock to the macroblock in the current picture of the secondary signal corresponding to the respective erroneous macroblock in the primary signal.